package artibella.media.audio 
{
	import flash.media.Sound;
	import flash.media.SoundChannel;
	
	/**
	 * ...
	 * @author pbordachar
	 */
	
	public class SoundObject
	{
		private var _sound:Sound;
		private var _channel:SoundChannel;
		
		private var _position:int = 0;
		private var _paused:Boolean = true;
		private var _volume:Number = 1;
		private var _startTime:int = 0;
		private var _loops:int = 0;
		private var _pausedByAll:Boolean = false;
		
		private var _name:String;
		
			
		public function SoundObject() 
		{
			_channel = new SoundChannel();
		}
		
		// - - -
		
		public function get name():String
		{
			return _name;
		}
		
		public function set name( id:String ):void
		{
			_name = id;
		}
		
		// - - -
		
		public function get sound():Sound
		{
			return _sound;
		}
		
		public function set sound( son:Sound ):void
		{
			_sound = son;
		}
		
		// - - -
		
		public function get channel():SoundChannel
		{
			return _channel;
		}
		
		public function set channel( ch:SoundChannel ):void
		{
			_channel = ch;
		}
		
		// - - -
		
		public function get volume():int
		{
			return _volume;
		}
		
		public function set volume( vol:Number ):void
		{
			_volume = vol;
		}
		
		// - - -
		
		public function get position():int
		{
			return _position;
		}
		
		public function set position( pos:int ):void
		{
			_position = pos;
		}
		
		// - - -
		
		public function get startTime():int
		{
			return _startTime;
		}
		
		public function set startTime( t:int ):void
		{
			_startTime = t;
		}
		
		// - - -
		
		public function get loops():int
		{
			return _loops;
		}
		
		public function set loops( nb:int ):void
		{
			_loops = nb;
		}
		
		// ---
		
		public function get paused():Boolean
		{
			return _paused;
		}
		
		public function set paused( b:Boolean ):void
		{
			_paused = b;
		}
		
		// - - -
		
		public function get pausedByAll():Boolean
		{
			return _pausedByAll;
		}
		
		public function set pausedByAll( b:Boolean ):void
		{
			_pausedByAll = b;
		}
		
	}

}